home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
thrdmod.zip
/
THRD-MOD.MOD
Wrap
Text File
|
1989-07-27
|
10KB
|
310 lines
THIS MOD Adds Line Number Referencing to RBBS, orig mod from 15a
You will need the file THREAD.EXE to maintain the Thread File
Please see the THREAD.ARC or THREAD2.ARC file for Docs.......(available on
many BBS including Mine
orig mods by George Brungot ..BBS # (301)-268-5821
Mod for 17a by Pete Eibl (maple Street BBS 414-771-2805)
RBBS-VAR.BAS
add the variables Z.ABORT, GRN$ and JUST.SEARCHING to RBBS-VAR.BAS
'
' **** ABORT MESSAGE ****
'
2400 GOSUB 2435
IF NOT YES THEN _
GOTO 2300
2430 A$ = "Aborted"
GOSUB 12975
Z.ABORT = 1
' ********** NOTE *** only use the following variables if using the
' Re-EDIT mods and Quoted message mods
'
QUOTED.REPLY = FALSE 'Pe 01/29/89
RE.EDIT = FALSE 'Pe 02/11/89
' ************************************************************************
GOTO 3650
2435 A$ = "Abort " + _
FT$ + _
" (Y/[N])"
GOSUB 12995
RETURN
'
' Skip to Next........
'************************ MESSAGE THREAD *****************
3650 IF REPLY AND Z.ABORT = 0 THEN _
CALL THREAD1(HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) 'GRB
Z.ABORT = 0
'*********************************************************
IF REPLY THEN _
REPLY = FALSE : _
GOTO 5344
IF GET.EXT.DESC THEN _
LINES.IN.MESSAGE = 0 : _
RETURN
RETURN 1200
'
' **** K - COMMAND FROM MAIN MENU (KILL MESSAGE) ****
'
'Skip to Next --------
3950 GOSUB 5344
CALL KILLMSG (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
'************************
' CHANGES for 07/27/89
' CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
' the above code gets placed in RBBSSUB2.BAS and only updates
' the field if a message is actually killed
4040 IF TEMP < Q THEN _
TEMP = TEMP + 1 : _
GOTO 3935
IF KILL.MESSAGE THEN _
RETURN
GOTO 3930
'
' **** Sysop Available toggle
'Skip to Next ........
4613 CALL THREAD3(CURRENT.MESSAGE,GRN$)
GOSUB 9000
IF JUST.SEARCHING THEN _
GOTO 4625
IF MESSAGES.SELECTED.INDEX > NUMBER.MESSAGES.SELECTED THEN _
GOTO 4650
CALL SKIPLINE (1)
4614 GOSUB 41000
End of Thrd-Mod to RBBS-PC.BAS
'=======================================
RBBSSUB1.BAS
59660 SUB PUTWORK (STRNG$,REC.NUM,REC.LEN) STATIC
ON ERROR GOTO 65000
FIELD #2,REC.LEN AS UPLOAD.RECORD$
LSET UPLOAD.RECORD$ = STRNG$
REC.NUM = REC.NUM + 1
PUT #2,REC.NUM
END SUB
'********************************************************************
' THREAD1 First message thread routine *
' THREAD2 Second message thread routine *
' THREAD3 Third message thread routine *
'********************************************************************
'===========================================================================
' $SUBTITLE: 'THREAD1 - create/update threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD1
'
' INPUT PARAMETERS -- PARAMETER MEANING
' HIGH.MESSAGE.NUMBER This reply's message number
' CURRENT.MESSAGE Message number being replied
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO...
'
SUB THREAD1 (HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN 'PE102587
FILE.NAME$ = GRN$ + "T" 'PE102587
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE102587
END IF
CURRENT.MESSAGE$ = STR$(CURRENT.MESSAGE)
HIGH.MESSAGE.NUMBER$ = STR$(HIGH.MESSAGE.NUMBER)
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
LSET CM$ = CURRENT.MESSAGE$
LSET HMN$ = HIGH.MESSAGE.NUMBER$
PUT #9,INT(LOF(9)/12)+1
CLOSE (9)
59670 END SUB ' THREAD1
'
' $SUBTITLE: 'THREAD2 - a message was killed - check threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD2
'
' INPUT PARAMETERS -- PARAMETER MEANING
' MESSAGE.TO.KILL Killed message's number
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
SUB THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN 'PE102587
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF VAL(CM$) = MESSAGE.TO.KILL THEN ' MARK THE RECORD
LSET CM$ = LEFT$(CM$,5) + "K"
PUT 9,I
ELSE
IF VAL(HMN$) = MESSAGE.TO.KILL THEN ' MARK THE RECORD
LSET HMN$ = LEFT$(HMN$,5) + "K"
LSET CM$ = LEFT$(CM$,5) + "K"
PUT 9,I
END IF
END IF
NEXT I
CLOSE (9)
59680 END SUB ' THREAD2
'
' $SUBTITLE: 'THREAD3 - a message was killed - check threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD3
'
' INPUT PARAMETERS -- PARAMETER MEANING
' CURRENT.MESSAGE Message's number
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
SUB THREAD3 (CURRENT.MESSAGE,GRN$) STATIC
'
'
IF JUST.SEARCHING THEN _ 'PE 01/16/89
EXIT SUB 'PE 01/16/89
'
'
IF INSTR(GRN$," ") = 0 THEN
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
AA$ = ""
ZZ$ = ""
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF RIGHT$(HMN$,1) = "K" THEN 59690
IF VAL(CM$) = CURRENT.MESSAGE AND RIGHT$(HMN$,1) <> "K" THEN
AA$ = AA$ + HMN$
END IF
IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) = "K" THEN
ZZ$ = LEFT$(CM$,5) + FG.1$+"(deleted) "+EMPHASIZE.OFF$
END IF
IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) <> "K" THEN
ZZ$ = CM$
END IF
59690 NEXT I
IF LEN(AA$) > 0 THEN
CALL QTPUT(FG.3$+" Reply(ies) in message number(s): "+FG.4$ + AA$+EMPHASIZE.OFF$,1)
END IF
IF LEN(ZZ$) > 0 THEN
CALL QTPUT (FG.4$+" This message is in reply to message " +FG.1$+ ZZ$+EMPHASIZE.OFF$,1)
END IF
CALL QTPUT (FG.3$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+EMPHASIZE.OFF$,1)
CLOSE (9)
59695 END SUB ' THREAD3
'
' $SUBTITLE: 'THREAD4 - UPDATE CONFR.DEF FILE FOR MESSAGE RECOVERY'
' $PAGE
'
' SUBROUTINE NAME -- THREAD4
'
' INPUT PARAMETERS -- PARAMETER MEANING
'
' MESSAGE.TO.RECOVER MESSAGE NUMBER BEING RECOVERED
' FIRST.MESSAGE.RECORD NOT USED HERE BUT PASSED IN
' FROM RBBS CALL TO SUB2
' ACTION.FLAG PASSED FROM SUB2 NEEDED TO
' GIVE BACK TO RBBS MAIN CODE
' GRN$ CONFERENCE NAME
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE - UPDATE CONFR.DEF FILE AFTER MSG RECVRY
'
SUB THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGES.RECORD,ACTION.FLAG,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12 'WILL CREATE FILE IF NOT EXIST
FIELD 9, 6 AS CM$, 6 AS HMN$
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF VAL(CM$) = MESSAGE.TO.RECOVER THEN
LSET CM$ = LEFT$(CM$,5) + " "
PUT 9,I
ELSE
IF VAL(HMN$) = MESSAGE.TO.RECOVER THEN
LSET HMN$ = LEFT$(HMN$,5) + " "
LSET CM$ = LEFT$(CM$,5) + " "
PUT 9,I
END IF
END IF
NEXT I
CLOSE (9)
59698 END SUB 'THREAD4
'
'
'
'============================ End of Mods to Sub 1
'
'
Mods to RBBSSUB2.BAS
'
'Skip to ............
4030 LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
DELETED.MESSAGE$ + _
MID$(MESSAGE.RECORD$,117)
PUT 1,LOC(1)
A$ = CX$(1)+"Killed Msg # " +CX$(3)+ _
STR$(MESSAGE.TO.KILL)+CX$(7)
CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) 'PE 01/12/89
SUBROUTINE.PARAMETER = 4
CALL FILELOCK 'KG011804
SUBROUTINE.PARAMETER = 5
CALL TPUT
EXIT SUB
4031 SUBROUTINE.PARAMETER = 5
'
'
'Skip to Next......
'
10450 IF INSTR(MESSAGE.RECORD$,DELETED.MESSAGE$) <> 0 THEN _
SUBROUTINE.PARAMETER = 3 : _
CALL TPUT : _
LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
ACTIVE.MESSAGE$ + _
MID$(MESSAGE.RECORD$,117) : _
PUT 1,LOC(1) : _
SUBROUTINE.PARAMETER = 4 : _
CALL TPUT : _
A$ = "Restored Msg #" + _
STR$(MESSAGE.TO.RECOVER) : _
ACTION.FLAG = TRUE : _
CALL THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGE.RECORD,ACTION.FLAG,GRN$) : _
GOTO 10485
10480 A$ = "Msg #" + _
'
' Rest the same
END of THREAD Mods to RBBS 17a
Enjoy...Pete Eibl (Maple Street BBS 414-771-2805)